Method for retrieving answers from an information retrieval system

ABSTRACT

The invention is a method for retrieving answers to questions from an information retrieval system. The method involves automatically learning phrase features for classifying questions into different types, automatically generating candidate query transformations from a training set of question/answer pairs, and automatically evaluating the candidate transforms on information retrieval systems. At run time, questions are transformed into a set of queries, and re-ranking is performed on the documents retrieved.

FIELD OF THE INVENTION

[0001] This invention generally relates to a method for improving the ability to retrieve answers to questions from an information retrieval system. Specifically, the invention relates to a method for learning query transformations that improve such an ability.

BACKGROUND OF THE INVENTION

[0002] A significant number of natural language questions (e.g., “What is a hard disk”) are submitted to search engines on the web every day, and an increasing number of search services on the web specifically target natural language questions. For example, some services uses databases of pre-compiled information, metasearching, and other proprietary methods, while other services facilitate interaction with human experts.

[0003] Many web search engines typically treat a natural language question as a list of terms and retrieve documents similar to the original query. However, documents with the best answers may contain few of the terms from the original query and be ranked low by the search engine. These queries could be answered more precisely if a search engine recognized them as questions.

[0004] Often, it is not sufficient to submit a natural language question (e.g., “How do I tie shoelaces?”) to a search engine in its original form. Most search engines will treat such a query as a bag of terms and retrieve documents similar to the original query. Unfortunately, the documents with the best answers may contain only one or two terms present in the original query. Such useful documents may then be ranked low by the search engine, and will never be examined by typical users who do not look beyond the first page of results.

[0005] Consider the question “What is a hard disk?.” The best documents for this query are probably not company websites of disk storage manufacturers, which may be returned by a general-purpose search engine, but rather hardware tutorials or glossary pages with definitions or descriptions of hard disks. A good response might contain an answer such as: “Hard Disk. One or more rigid magnetic disks rotating about a central axle with associated read/write heads and electronics, used to store data . . . ”. This definition can be retrieved by transforming the original question into a query {“hard disk” NEAR “used to”}. Intuitively, by requiring the phrase “used to”, most search engines can be biased towards retrieving this answer as one of the top-ranked documents.

[0006] A number of systems aim to extract answers from documents. For example, certain systems process the documents returned by the information retrieval system to extract answers. Questions are classified into one of a set of known “question types” that identify the type of entity corresponding to the answer. Documents are tagged to recognize entities, and passages surrounding entities of the correct type for a given question are ranked using a set of heuristics. Other systems re-rank and postprocess the results of regular information retrieval systems with the goal of returning the best passages. There are systems that combine statistical and linguistic knowledge for question answering and employ sophisticated linguistic filters to postprocess the retrieved documents and extract the most promising passages to answer a question.

[0007] These systems above use the general approach of retrieving documents or passages that are similar to the original question with variations of standard TF-IDF term weighting schemes. The most promising passages are chosen from the documents returned using heuristics and/or hand-crafted regular expressions. This approach is not optimal, because documents that are similar to the question are initially retrieved. However, the user is actually looking for documents containing an answer and these documents may contain few of the terms used to ask the original question. This is particularly important when retrieving documents is expensive or limited to a certain number of documents, as is the case with web search engines.

[0008] Also related are methods for automatically expanding queries based on the relevance of terms in the top-ranked documents. One approach describes how to automatically expand a query based on the co-occurrence of terms in the query with the terms in the top-ranked documents for the original query. In general, automatic query expansion systems expand queries at run time on a query-by-query basis using an initial set of top-ranked documents returned by the information system in response to the original query.

SUMMARY OF THE INVENTION

[0009] This invention is a method and system that automatically learns multiple query transformations and that can be optimized for each information retrieval system, such as a search engine, so that the probability of an information retrieval system returning documents that contain answers to a given question is maximized. The inherent regularity and power of natural language is exploited by transforming natural language questions into sets of effective search engine queries.

[0010] To answer a natural language question, the invention automatically reformulates the question into one or more queries that contain terms and phrases that are expected to appear in documents containing answers to the original question.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011]FIG. 1 is an outline of process used by the invention for training.

[0012]FIG. 2 is a table showing question type phrases used for evaluation.

[0013]FIG. 3 is an example of the regular expressions used for filtering.

[0014]FIG. 4 is a table showing sample Question/Answer pairs.

[0015]FIG. 5 is a table of sample candidate transforms along with their frequency count, term weight, and term selection weight.

[0016]FIG. 6 is a table of candidate transforms grouped into buckets.

[0017]FIG. 7 depicts an algorithm for ranking a set of candidate transforms.

[0018]FIG. 8 is a table showing some top ranked transforms for the question phrase “what is a” automatically optimized for Altavista and Google.

[0019]FIG. 9 is an algorithm for evaluating questions at run time.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0020] The method and system begins by learning to reformulate questions. Then, the invention evaluates a query at run time by applying these transformations.

[0021] Step 1. Learning to Transform Questions into Effective Queries

[0022] The invention transforms natural language questions into effective queries that contain terms or phrases expected to appear in documents that contain answers to the question.

[0023] 1.1 Selecting Question Phrases

[0024] In the first stage of the learning process 1, (FIG. 1), the invention generates a set of phrases that identify different categories of questions where the questions in each category have a similar goal 10. For example, the question “What is a hard disk?” implies that the user is looking for definitions or descriptions of a hard disk. The goal of the question can be inferred from the question phrase “what is a”.

[0025] The input to this stage is a set of questions. These questions and their corresponding answers constitute the training data. Potential question phrases are generated by computing the frequency of all n-grams (phrases) of length minQtokens to maxQtokens words, with all n-grams anchored at the beginning of the questions. The invention uses all resulting n-grams that occur at least minQphraseCount times.

[0026] The output of this stage is a set of question phrases that can be used to quickly classify questions into respective question types. Sample question phrases, automatically generated from questions in the training collection described later, are shown in FIG. 2.

[0027] This method of selecting question phrases can produce many phrases that are too specific to be widely applicable. In the demonstrated embodiment, the training is limited to phrases that match the regular expressions shown in FIG. 3. The regular expressions match common questions, and allow the invention to concentrate resources on the most useful phrases. Feature selection techniques, part-of-speech tagging, and other natural language processing techniques may be used to fine-tune the filtering of generated question phrases.

[0028] Although alternative approaches can be used to identify categories of questions, the invention's n-gram approach has a number of advantages. This approach is relatively inexpensive computationally, allowing for the processing of large training sets. The approach is also domain independent, and will work for many languages with only minor modifications. Additionally, when evaluating a question at run time, categorizing a question using phrase matching can be incorporated with negligible overhead in the overall processing time of queries.

[0029] 1.2 Generating and Filtering Candidate Transforms

[0030] In the second stage of the learning algorithm 20, (FIG. 1), the invention generates candidate terms and phrases that may be useful for reformulating questions. In the preferred embodiment, a filtering procedure is used to reduce the computational requirements for the following stage (evaluating the candidate transforms for search engine effectiveness, Step (3) in FIG. 1). Candidate transforms are generated for each of the question phrases from the previous learning stage 10. The procedure for generating candidate transforms for each question phrase, QP, consists of a number of steps, namely generating initial candidate transform phrases, filtering these phrases by minimum co-occurrence count, and weighting and further filtering the remaining phrases. Each step is described below in detail.

[0031] For this stage of the learning process the invention uses a collection of <Question, Answer> pairs. A sample of one such collection is given in FIG. 4. This stage of the learning process operates over a collection that has been tagged with a part-of-speech tagger, which assigns a syntactic part of speech (e.g., noun, verb) to each word in the text. Preferably, Brill's part-of-speech tagger is used, since it is widely used in the natural language processing community and is easily available.

[0032] For each <Question, Answer> pair in the training collection where a prefix of Question matches QP, the invention generates all possible potential answer phrases from all of the words in the Answer. For this, n-grams of length minAtokens to maxAtokens words are used, starting at every word boundary in the first maxLen bytes of the Answer text. A sample of answer phrases 35 generated after this step is shown in FIG. 4. These phrases 35 are heavily biased towards electronics or the computer domain. These phrases 35 were generated because a large portion of the documents in the demonstrated training collection were on technology related topics. If these phrases were used in transforms, it may change the intended topic of a query. Recall that the transformations the invention is trying to learn should improve accuracy of the retrieved set of documents, yet preserve the topic of the original query. Therefore, phrases such as “telephone”, which intuitively would not be good transformations for general questions (e.g., “What is a rainbow?”) are filtered out.

[0033] This problem maybe addressed by filtering out initial candidate transform phrases containing nouns. It is relied upon that in most of the queries the nouns are content words, or words expressing the topic of the query. For example, in the query “what is a rainbow”, the term “rainbow” is a noun and a content word. Likewise, the word “telephone” is a noun. Thus, initial candidate transform phrases are filtered by checking if a generated answer phrase contains a noun, and if it does, the phrase is discarded. The invention uses the part of speech information, which is computed once for the whole collection as described in the beginning of this subsection.

[0034] Of the resulting n-grams, the topKphrases with the highest frequency counts are kept. Information retrieval techniques for term weighting are applied to rank these candidate transforms. The initial term weights are assigned to each candidate transform phrase, t_(i), by preferably applying the term weighting scheme described in “On Relevance Weights with Little Relevance Information”, Robertson and Walker, SIGIR 97, 1997.

[0035] These term weights were used in the Okapi BM25 document ranking formula (“Okapi at TREC-7, Robertson, et al, TREC-7 Proceedings, 1998). Many information retrieval systems use the vector space model to compute similarity between documents. In this model, similarity is computed as a dot product between vectors representing each document. The elements of each vector are calculated as a combination of the term weight and term frequency of each term in the document. The BM25 metric uses a similar idea. In the original definition of BM25, each term t_(i) in the document is assigned the Robertson/Sparck Jones term weight w_(i) ⁽¹⁾, (“Relevance Weighting of Search Terms”, Robertson and Jones, Journal of the American Society for Information Science, 27:129-146F, 1976), with respect to a specific query topic and is calculated as: $\begin{matrix} {w_{i}^{(1)} = \frac{\left( {r + 0.5} \right)/\left( {R - r + 0.5} \right)}{\left( {n - {{r0}{.5}}} \right)/\left( {N - n - R + r + 0.5} \right)}} & (1) \end{matrix}$

[0036] where r is the number of relevant documents containing t_(i), N is the number of documents in the collection, R is the number of relevant documents, and n is the number of documents containing t_(i). This weight is designed to be high for terms that tend to occur in many relevant documents and few non-relevant documents, and is smoothed and normalized to account for potential sparseness of relevance information in the training data.

[0037] In the original definition of BM25, term weight w_(i) ⁽¹⁾ is specific to each query topic. The invention applies this metric to the task of weighting candidate transforms by incorporating two modifications. First, query topic is interpreted as a question type. In this interpretation, a relevant document is one of the answers in the training collection that corresponds to the question phrase (question type). Therefore w_(i) ⁽¹⁾ is an estimate of the selectivity of a candidate transform t_(i) with respect to the specific question type. Second, the term weighting scheme is extended to phrases. The same consistent weighting scheme is applied to phrases, and they are treated in the same way as single word terms. This weight is computed for each candidate transform tr_(i) by computing the count of <Question, Answer> pairs where tr_(i) appears in the Answer to a question matching QP as the number of relevant documents, and consider the number of the remaining <Question, Answer> pairs where tr_(i) appears in the Answer as non-relevant, and apply the formula in Equation 1.

[0038] The term selection weights, wtr_(i), are then computed for each candidate transform tr_(i), as described in “On Term Selection for Query Expansion”, (Robertson, Journal of Documentation, vol. 46, p. 359-64, 1990), in the context of selecting terms for automatic query expansion as:

wtr _(i) =qtf _(i) ·w _(i) ⁽¹⁾  (2)

[0039] where qtf_(i) is the co-occurrence count of tr_(i) with QP, and w_(i) ⁽¹⁾ is the relevance-based term weight of tr_(i) computed with respect to QP. This term ranking strategy exploits both co-occurrence statistics and relevance weights with the aim of filtering out noise. While w_(i) ⁽¹⁾ assigns higher weight to terms and phrases with high discriminatory power, qt f is a measure of how often a phrase occurs in answers to relevant question types. For example, while in FIG. 5 the phrase “named after” 51 is a better discriminator for the question phrase “what is a” 52, it does not occur as often as those ultimately ranked higher. This tradeoff between discrimination and frequency of occurrence, or expected precision and recall, may be altered according to particular preferences. Sample output of this stage is shown in FIG. 5.

[0040] Finally, the candidate transforms are sorted into buckets according to the number of words in the transform phrase, and up to maxBucket transforms, with the highest values of wtr_(i) kept from each bucket. In general, it is expected that longer phrases may be processed differently by the search engines, and this step is done in order to include such longer, potentially higher precision transforms in the set of candidate transforms, whereas primarily shorter transforms with higher frequency counts may be chosen otherwise. In FIG. 6, a sample of phrases 63 are shown with the highest selection weights 65 from each candidate transform bucket.

[0041] 1.3 Weighting and Re-Ranking Transforms Using Search Engines

[0042] In the third and final stage of training, the performance of each candidate transform, tr_(i), is evaluated on different information retrieval systems. FIG. 7 shows the preferred algorithm for ranking a set of candidate transforms for a single question phrase and search engine. The procedure is repeated for all question phrases and search engines of interest.

[0043] In Step (1) 71 of the algorithm the invention retrieves a set of <Question, Answer> pairs to be used as training examples. This is done by sorting all of the <Question, Answer> pairs in the collection in order of increasing answer length, and using up to numExamples of the first <Question, Answer> pairs that contain questions beginning with QP. The sorting step is done since this example assumes that the evaluation may be more accurate for questions that have shorter answers.

[0044] For each of the example <Question, Answer> pairs, and the set of candidate transforms generated in the previous stage of the process, each transform tr_(i) is applied to the Question one at a time 72. Consider a question Question={QP C}, where QP is the question phrase, and C are the remaining terms in the question. Using transform tr_(i) the question phrase QP is removed and Question is rewritten as Query ={C AND tr_(i)}. For example, one may consider the candidate transform “refers to” for the question phrase “what is a”, and the <Question, Answer> pair <“what is a lisp machine (lispm)”, “A Lisp Machine (lispm) is a computer optimized for running Lisp programs, . . . ”>. Applying the transform to the Question a rewritten query Query=“{(lisp machine lispm) AND (“refers to”)}” is obtained. The appropriate query syntax is used for each search engine. Also, the transforms are encoded so that they are treated as phrases by each search engine.

[0045] The syntax of the querying interface varies for each search engine. For example, in AltaVista the NEAR operator can be used instead of AND. The actual query submitted to AltaVista would be “{(lisp machine lispm) NEAR (“refers to”)}.” Google treats all the terms submitted in a query with implicit AND semantics in the absence of an explicit OR operator. Note that Google incorporates the proximity of query terms in the document ranking and may discard some words that appear in its stopword list.

[0046] Other embodiments can incorporate other possibilities for rewriting Question, for example requiring or not requiring parts of the query in matching pages, and combining multiple transformations into a single query.

[0047] In Step (3) 73 of FIG. 7 the rewritten query Query is submitted to the search engine SE. At most 10 of the top results returned by SE are retrieved. Each of the returned documents D is analyzed in Steps (4a) 74 a, (4b) 74 b, and (4c) 74 c. In Step (4a) 74 a, subdocuments of D are generated. In Step (4b) 74 b, the subdocuments in D most similar to Answer are found. In Step (4c) 74 c, the scores and counts for tr_(i) are updated based on the similarity of D with respect to Answer.

[0048] In Step (4a) 74 a subdocuments are generated from a document to calculate a more accurate similarity measure. Consider original answer A and a document D, one of the documents retrieved using the transformed query. An assumption is made that answers are localized, i.e., that the key information/set of phrases will appear in close proximity of each other—within subdocuments of length subDocLen. The subdocuments overlap by subDocLen/2 words, to minimize the possibility that an answer will not be entirely within one of the subdocuments. In other words, given query Q, document D, and subDocLen N, D is broken into overlapping subdocuments D₁, D₂, D₃, D₄, . . . , each starting at successive positions 0, N/2, N, 3N/2.

[0049] In Step (4b) the score of document D is calculated with respect to Answer. docScore(Answer, D) is defined as the maximum of the similarities of each of the subdocuments Di in D. More formally, docScore (Answer, D)=Max(BM25_(phrase) (Answer, D_(i))) where BM25_(phrase) is an extension of the BM25 metric modified to incorporate phrase weights, calculated as in Equation 1.

[0050] The original BM25 metric uses relevance weights w_(i) ⁽¹⁾ and topic frequencies as described previously, and is defined as: $\begin{matrix} {{BM25} = {\overset{N_{i}}{\sum\limits_{i = 0}}{w_{i}^{(1)}\frac{\left( {k_{1} + 1} \right){{tf}_{i}\left( {k_{3} + 1} \right)}{qtf}_{i}}{\left( {K + {tf}_{i}} \right)\left( {k_{3} + {qtf}_{i}} \right)}}}} & (3) \end{matrix}$

[0051] where k₁=1.2, k₃=1000, K=k₁((1−b)+b·dl/avdl), b=0.5, dl is the document length in tokens, avdl is the average document length in tokens, and w_(i) ⁽¹⁾ and qtf₁ are the relevance weight and query topic frequency as described previously. The simplified version of the metric that was used in the TREC evaluation, where k₂=0 was used in this instance.

[0052] In the BM25_(phrase) metric, the “terms” in the summation (Equation 3) include phrases, with weights learned over the training data as in the previous subsection. The weight for a term or phrase t is calculated as follows: $\begin{matrix} {w = \left\{ {\begin{matrix} w_{t}^{(1)} \\ {\log \quad {{IDF}(t)}} \\ {{{NumTerms}(t)} \cdot {\sum\limits_{t_{i} \in t}{\log \quad {{IDF}\left( t_{i} \right)}}}} \end{matrix}\begin{matrix} {{if}\quad w_{t}^{(1)}\quad {is}\quad {defined}\quad {for}\quad t} \\ {{if}\quad {{IDF}(t)}\quad {is}\quad {defined}\quad {for}\quad t} \\ {otherwise} \end{matrix}} \right.} & (4) \end{matrix}$

[0053] This multi-step assignment procedure is used since terms encountered may not be present in the training collection. IDF (Inverse Document Frequency, which is high for rare terms, and low for common terms) weights were used derived from a much larger sample (one million web pages, obtained from the collection of pages used in the TREC Web Track “Results and Challenges in Web Search Evaluation”, Hawking, et al., 8^(th) International World Wide Web Conference(WWW-8), 1999). The last, fall-back case is to handle phrases not present in the training data. Intuitively, it assigns the weight of phrase t inversely proportional to the probability that all the terms in t appear together, scaled to weight occurrences of multi-word phrases higher.

[0054] The overall goal of ranking candidate transforms is to weight highly the transforms that tend to return many relevant documents (similar to the original Answers) and few non-relevant documents. In Step (5) 75 weight WT_(i) of a transform tr_(i) is calculated as the average similarity between the original training answers and the documents returned in response to the transformed query: $\begin{matrix} {{WT}_{i} = \frac{\sum\limits_{\langle{Q,A}\rangle}{{docScore}\left( {A,D_{{tr}_{i}}} \right)}}{{Count}\left( D_{{tr}_{i}} \right)}} & (5) \end{matrix}$

[0055] where the sum is calculated over all of the <Question, Answer> pairs in the set of examples.

[0056] The result of this final stage of training is a set of transforms, automatically ranked with respect to their effectiveness in retrieving answers for questions matching QP from search engine SE. Two samples of highly ranked transforms for QP=“what is a”, the first optimized for the AltaVista search engine 82 and the second for the Google search engine 83, are shown in FIG. 8.

[0057] 2 Run Time Query Reformulation

[0058] Once the set of the best transformations is automatically trained for each question phrase, they are stored as transformation rules. The invention then evaluates a query at run time by applying the transformations. The preferred procedure for this is shown in FIG. 9.

[0059] In Step (1a) 91 a, the system determines if it can reformulate the question by matching known question phrases, with preference for longer (more specific) phrases. For example, “what is the” would be preferred over “what is”. In Step (1b) 91 b, the corresponding set of transforms is retrieved. Only the top numTransforms transforms are used.

[0060] In Step (2) 92 each transform is used to rewrite the original question, one transform at a time, resulting in a new query.

[0061] In Step (3) 93 the transformed queries are submitted to the search engine and the first page of results is retrieved.

[0062] In Steps (4a) 94 a, (4b) 94 b, and (4c) 94 c the returned documents are analyzed and scored based on the similarity of the documents with respect to the transformed query. The process of scoring the document is the same as described in Section 1.3. In Step (4c) 94 c, if a document is retrieved through the application of multiple transforms, then the final score for the document is the maximum of each of the individual document scores.

[0063] In Step (5) 95 the returned documents are ranked with respect to their final document scores, and in Step (6) 96 the top ranked topKdocs documents are returned as a final result.

[0064] Other embodiments include, utilizing existing methods for extracting the best passages from documents; multiple transformations can be combined into a single query; questions can be routed to search engines that perform best for the given question type; multiple search engines can be used simultaneously, and; phrase transforms that contain content words from the questions can be learned.

[0065] The transformation process can also be dynamic. For example, transformations where one expects high precision may be submitted first. Based on the responses received, the system may try lower precision transforms or fall back to the original query.

[0066] The invention encompasses a method for learning query transformations that improves the ability to retrieve answers to questions from an information retrieval system. The method involves classifying questions into different question types, generating candidate query transformations from a training set of question/answer pairs, and evaluating the candidate transforms on the target information retrieval systems. This technique for processing natural language questions could be applicable to a wide range of information retrieval systems.

[0067] While some of the above description refers to specific commercially available search engines, the invention is equally applicable to any arbitrary information retrieval system. Accordingly, it should be readily appreciated that the method and system for retrieving answers to questions from an information retrieval system has many practical applications. Additionally, although the preferred embodiment has been illustrated and described, it will be obvious to those skilled in the art that various modifications can be made without departing from the spirit and scope of this invention. Such modifications are to be considered as included in the following claims unless the claims expressly recite differently. 

It is claimed:
 1. A method for retrieving answers to questions from an information retrieval system comprising: generating a set of phrases that identify different categories of questions; generating candidate transforms for each phrase; weighting the candidate transforms; ranking the candidate transforms; applying the transforms to an information retrieval system.
 2. A method as in claim 1 further comprising: filtering candidate transforms prior to weighting.
 3. A method as in claim 2 further wherein: natural language processing techniques are used for filtering.
 4. A method as in claim 3 wherein: a natural processing technique used is part-of-speech tagging.
 5. A method as in claim 4 wherein: Brill's part-of-speech tagger is used.
 6. A method as in claim 3 wherein: the natural language processing techniques used are feature selection techniques.
 7. A method as is claim 1 wherein: the questions are categorized by similar goals.
 8. A method as in claim 7 wherein: the categories are identified using an n-gram approach.
 9. A method as in claim 8 wherein: phrases are generated by computing the frequency of all n-grams of length minQtokens to maxQtokens words, with all n-grams anchored at the beginning of the questions.
 10. A method as in claim 9 wherein: all n-grams that occur at least minQphraseCount times are used for generating question phrases.
 11. A method as in claim 7 wherein: the input to generating the set of phrases is a set of questions.
 12. A method as in claim 7 wherein: the output to generating the set of phrases is a set of question phrases that can be used to classify questions into respective question types.
 13. A method as in claim 1 further comprising: filtering the generated phrases.
 14. A method as in claim 13 wherein: natural language processing techniques are used for filtering.
 15. A method as in claim 14 wherein: a natural processing technique used is part-of-speech tagging.
 16. A method as in claim 15 wherein: Brill's part-of-speech tagger is used.
 17. A method as in claim 14 wherein: the natural language processing techniques used are feature selection techniques.
 18. A method as in claim 1 wherein: generating candidate transforms comprises generating initial candidate transform phrases.
 19. A method as in claim 18 wherein: initial candidate transforms are generated by using a collection of Question/Answer pairs.
 20. A method as in claim 19 further comprising: filtering initial candidate transform phrases.
 21. A method as in claim 20 wherein: initial candidate transforms are filtered by minimum co-occurrence.
 22. A method as in claim 20 further comprising: weighting filtered initial candidate transforms.
 23. A method as in claim 22 further comprising: filtering all weighted initial candidate transforms.
 24. A method as in claim 19 wherein: the collection of pairs has been tagged with a part-of-speech tagger.
 25. A method as in claim 24 wherein: Brill's part-of-speech tagger is used.
 26. A method as in claim 19 wherein: initial candidate transform phrases are filtered by eliminating generated answer phrases that contain a noun.
 27. A method as in claim 19 wherein: all potential answer phrases are generated from all of the words in the prefix of Answer for each Question/Answer pair where a prefix of Question matches each question phrase.
 28. A method as in claim 27 wherein: n-grams of length minAtokens to maxAtokens words are used, starting at every word boundary in the first maxLen bytes of the Answer text.
 29. A method as in claim 28 wherein: from the resulting n-grams, the topKphrases with the highest frequency counts are kept.
 30. A method as in claim 19 wherein: information retrieval techniques for term weighting is applied to rank the initial candidate transforms.
 31. A method as in claim 30 wherein: a Sparck Jones inverse collection frequency weighting scheme that uses relevance information is applied.
 32. A method as in claim 30 wherein: candidate transforms are weighted by assigning to each phrase an Robertson/Sparck Jones term weight with respect to a specific question type.
 33. A method as in claim 30 wherein: the weight is computed for each candidate transform tr_(i) by computing the count of Question/Answer pairs where tr_(i) appears in the Answer to a question matching a question phrase as the number of relevant documents; considering the number of remaining Question/Answer pairs where tr_(i) appears in the Answer as non-relevant, and; applying the formula $w_{i}^{(1)} = {\frac{\left( {r + 0.5} \right)/\left( {R - r + 0.5} \right)}{\left( {n - {{r0}{.5}}} \right)/\left( {N - n - R + r + 0.5} \right)}.}$


34. A method as in claim 30 wherein: term selection weights are computed for each candidate transform.
 35. A method as in claim 34 wherein: term selection weights, wtr₁, for each candidate transform tr_(i), are computed as: wtr _(i) =qtf _(i) ·w _(i) ⁽¹⁾ where qt f_(i) is the co-occurrence count of tr_(i) with QP, and w_(i) ⁽¹⁾ is the relevance-based term weight of tr_(i) computed with respect to QP.
 36. A method as in claim 19 further comprising: sorting the initial candidate transforms into buckets according to the number of words in the transform phrase, and up to maxBucket transforms, with the highest values of term selection weights kept from each bucket.
 37. A method as in claim 36 further comprising: filtering and weighting the initial candidate transform prior to sorting.
 38. A method as in claim 1 wherein: ranking the candidate transforms comprises retrieving a set of Question/Answer pairs and for each pair and the candidate transforms, applying a transform to each Question.
 39. A method as in claim 38 further comprising: sorting Question/Answer pairs by increasing answer length prior to ranking the candidate transforms.
 40. A method as in claim 38 wherein: the transforms are encoded so that they are treated as phrases by the information retrieval system.
 41. A method as in claim 38 wherein: a Question requires parts of the query in matching pages.
 42. A method as in claim 38 wherein: a Question does not require parts of the query in matching pages.
 43. A method as in claim 38 wherein: multiple transformations are combined into a single query.
 44. A method retrieving documents from an information retrieval system comprising: categorizing questions asked of the information retrieval system into different types; generating phrases that identify the question types; generating candidate query transformations for each phrase from a training set of question/answer pairs; evaluating the candidate transforms on the target information retrieval systems, and; applying transformations to queries submitted to the information retrieval system.
 45. A method for retrieving documents as in claim 44 wherein: the questions are categorized by similar goals.
 46. A method for retrieving documents as in claim 44 wherein: phrases are generated by computing the frequency of all n-grams of length minQtokens to maxQtokens words, with all n-grams anchored at the beginning of the questions.
 47. A method for retrieving documents as in claim 46 wherein: all n-grams that occur at least minQphraseCount times are used for generating candidate transforms.
 48. A method for retrieving documents as in claim 44 further comprising: filtering the generated phrases.
 49. A method for retrieving documents as in claim 48 wherein: natural language processing techniques are used for filtering.
 50. A method for retrieving documents as in claim 49 wherein: a natural processing technique used is part-of-speech tagging.
 51. A method for retrieving documents as in claim 50 wherein: Brill's part-of-speech tagger is used.
 52. A method for retrieving documents as in claim 49 wherein: the natural language processing techniques used are feature selection techniques.
 53. A method for retrieving documents as in claim 44 further comprising: filtering, weighting, and ranking the candidate query transformations prior to evaluating on the information retrieval systems.
 54. A method for retrieving documents as in claim 53 wherein: natural language processing techniques are used for filtering.
 55. A method for retrieving documents as in claim 54 further comprising: initial candidate transforms are filtered by minimum co-occurrence.
 56. A method for retrieving documents as in claim 53 wherein: generating candidate transforms comprises generating initial candidate transform phrases.
 57. A method for retrieving documents as in claim 44 wherein: filtering initial candidate transform phrases.
 58. A method for retrieving documents as in claim 44 wherein: the training set of pairs are tagged with a part of speech tagger.
 59. A method for retrieving documents as in claim 44 wherein: candidate transforms are filtered by eliminating phrases with nouns.
 60. A method for retrieving documents from an information retrieval system comprising: entering a question whose answer is desired; classifying the question by matching it with predetermined question phrases; retrieving the associated question phrases; rewriting the question by applying each associated question phrase to the question to create transformed queries; submitting the transformed queries to an information retrieval system; analyzing the returned documents; scoring the returned documents; ranking the returned documents by their respective scores, and; documents ranked above a predetermined level as the resulting retrieved documents. 